package com.wkbb.common.dto.basic;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * 无感盒子信息表
 * b_device_box
 *
 * @author Lilin
 * @date 2019-09-09 11:36:00
 */
@Data
public class DeviceBoxDto implements Serializable {

    /**
     * 编号
     */
    @ApiModelProperty(value = "编号")
    private Long id;

    /**
     * 组织ID
     */
    @ApiModelProperty(value = "组织ID")
    private Long orgId;

    /**
     * 设备名称
     */
    @ApiModelProperty(value = "设备名称")
    private String name;

    /**
     * 设备编号
     */
    @ApiModelProperty(value = "设备编号")
    private String deviceCode;

    /**
     * 设备序列号
     */
    @ApiModelProperty(value = "设备序列号")
    private String deviceSerial;

    /**
     * 设备序列号
     */
    @ApiModelProperty(value = "设备MAC地址")
    private String deviceMac;

    /**
     * 设备序列号
     */
    @ApiModelProperty(value = "IPC列表")
    private Object deviceCameras;

    /**
     * 软件版本
     */
    @ApiModelProperty(value = "软件版本")
    private String softwareVer;

    /**
     * 固件版本
     */
    @ApiModelProperty(value = "固件版本")
    private String hardwareVer;

    /**
     * 安装时间
     */
    @ApiModelProperty(value = "安装时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date deployTime;

    /**
     * 相似度高于此值，为同一人
     */
    @ApiModelProperty(value = "相似度高于此值，为同一人 默认90")
    private Integer similar;

    /**
     * 相似度低于此值，将其视为陌生人
     */
    @ApiModelProperty(value = "相似度低于此值，将其视为陌生人 默认65")
    private Integer strangerSimilar;

    /**
     * 是否激活（0 未激活 1已激活）激活后会向巨龙盒子同步数据
     */
    @ApiModelProperty(value = "是否激活（0 未激活 1已激活）激活后会向巨龙盒子同步数据")
    private Boolean active;

    /**
     * 状态(0无效1有效)
     */
    @ApiModelProperty(value = "状态(0无效1有效)")
    private Boolean status;

    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间")
    private Date createTime;

    /**
     * 创建人
     */
    @ApiModelProperty(value = "创建人")
    private String createBy;

    /**
     * 修改时间
     */
    @ApiModelProperty(value = "修改时间")
    private Date updateTime;

    /**
     * 修改人
     */
    @ApiModelProperty(value = "修改人")
    private String updateBy;

    @ApiModelProperty(value = "组织名称")
    private String orgName;

    @ApiModelProperty(value = "无感摄像头列表")
    private List<DeviceCameraDto> deviceCameraList;

}